/**
 * Project Name:fire-industry-DM-center
 * File Name:DmMapLiterature.java
 * Package Name:com.firestone.bean.entity.elasticsearch.dm
 * Date:2018年4月9日上午9:09:07
 *
*/

package com.firestone.bean.entity.elasticsearch.dm;

import java.io.Serializable;
import java.util.List;
import java.util.Set;

import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.DateFormat;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;
import org.springframework.data.elasticsearch.annotations.Setting;

import com.firestone.bean.entity.elasticsearch.nested.Chemical;
import com.firestone.bean.entity.elasticsearch.nested.Classnum;
import com.firestone.bean.entity.elasticsearch.nested.DetailAuthor;
import com.firestone.bean.entity.elasticsearch.nested.Meshheading;
import com.firestone.bean.entity.elasticsearch.nested.OrgInfo;
import com.firestone.bean.entity.elasticsearch.nested.References;
import com.firestone.bean.entity.elasticsearch.nested.WeightJson;

/**
 * @Description: TODO(数据工厂DM层文献表 Elasticsearch bean)
 *               DM数据工厂ES表不由该系统维护，请将createIndex设为false，避免系统启动时修改了大数据维护表的索引
 * @author CAIYJ
 * @date 2018年4月9日 上午9:09:07
 */
@Document(indexName = "dm_map_literature", type = "index", createIndex = false)
@Setting(settingPath = "/setting/setting.json")
public class DmMapLiterature implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    private String id;
    /**
     * @Fields SYS_add_time : TODO(添加时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_add_time;

    /**
     * @Fields SYS_add_time : TODO(检验时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_check_time;

    /**
     * @Fields SYS_add_time : TODO(更改时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_dm_update_time;

    /**
     * @Fields author : TODO(作者)
     */
    @Field(type = FieldType.keyword)
    private String author;

    /**
     * @Fields chemical_nested : TODO()
     */
    @Field(type = FieldType.Nested)
    private List<Chemical> chemical_nested;

    /**
     * @Fields citationsubset : TODO(引文子集)
     */
    @Field(type = FieldType.keyword)
    private String citationsubset;

    /**
     * @Fields classnum_nested : TODO(类数)
     */
    @Field(type = FieldType.Nested)
    private List<Classnum> classnum_nested;

    /**
     * @Fields copyrightinformation : TODO(版权信息)
     */
    @Field(type = FieldType.keyword)
    private String copyrightinformation;

    /**
     * @Fields country : TODO(国家)
     */
    @Field(type = FieldType.keyword)
    private String country;

    /**
     * @Fields detail_author_nested : TODO(作者信息实体)
     */
    @Field(type = FieldType.Nested)
    private List<DetailAuthor> detail_author_nested;

    /**
     * @Fields detail_url : TODO(链接)
     */

    @Field(type = FieldType.keyword)
    private String detail_url;

    @Field(type = FieldType.keyword)
    private String doi;

    /**
     * @Fields download_url : TODO(下载链接)
     */
    @Field(type = FieldType.keyword)
    private String download_url;

    /**
     * @Fields eng_journal : TODO(英文期刊)
     */
    @Field(type = FieldType.keyword)
    private String eng_journal;

    /**
     * @Fields english_title : TODO(英文标题)
     */
    @Field(type = FieldType.keyword)
    private String english_title;

    /**
     * @Fields ext_company : TODO(企业)
     */
    @Field(type = FieldType.text, analyzer = "tab_analyzer")
    private String ext_company;

    /**
     * @Fields ext_company : TODO(机构)
     */
    @Field(type = FieldType.text, analyzer = "tab_analyzer")
    private String ext_institute;

    /**
     * @Fields fund : TODO(基金)
     */
    @Field(type = FieldType.keyword)
    private String fund;

    /**
     * @Fields geo_id : TODO()
     */
    @Field(type = FieldType.keyword)
    private String geo_id;

    /**
     * @Fields included : TODO(包含)
     */
    @Field(type = FieldType.keyword)
    private String included;

    /**
     * @Fields influence_factor : TODO(影响因素)
     */
    @Field(type = FieldType.keyword)
    private String influence_factor;

    /**
     * @Fields institute : TODO(机构)
     */
    @Field(type = FieldType.keyword)
    private String institute;

    /**
     * @Fields ismedical : TODO(医健企业 定义：1=医健企业；2=药店、药房等 ；3=医院 ；4=研究机构
     *         ；6=代理机构；7=美容整形机构；8=健康服务(包括体育运动, 保健, 按摩等；9=疗养院；0: 明确不是医健相关的公司； 5:
     *         剩余不能明确判断的) )
     */
    @Field(type = FieldType.keyword)
    private String ismedical;

    /**
     * @Fields isoabbreviation : TODO()
     */
    @Field(type = FieldType.keyword)
    private String isoabbreviation;

    /**
     * @Fields issn : TODO(国际标准期刊编号)
     */
    @Field(type = FieldType.keyword)
    private String issn;

    /**
     * @Fields journal : TODO(期刊，杂志)
     */
    @Field(type = FieldType.text, analyzer = "ik_max_word")
    private String journal;

    /**
     * @Fields key_words : TODO(关键词)
     */
    @Field(type = FieldType.text, analyzer = "ik_max_word")
    private String key_words;

    /**
     * @Fields language : TODO(关键词)
     */
    @Field(type = FieldType.keyword)
    private String language;

    /**
     * @Fields meshheading_nested : TODO()
     */
    @Field(type = FieldType.Nested)
    private List<Meshheading> meshheading_nested;

    /**
     * @Fields nlmuniqueid : TODO()
     */
    @Field(type = FieldType.keyword)
    private String nlmuniqueid;

    /**
     * @Fields org_info : TODO(企业关联实体)
     */
    @Field(type = FieldType.Nested)
    private Set<OrgInfo> org_info;

    /**
     * @Fields origin : TODO(来源)
     */
    @Field(type = FieldType.keyword)
    private String origin;

    /**
     * @Fields pii : TODO()
     */
    @Field(type = FieldType.keyword)
    private String pii;

    /**
     * @Fields pmc : TODO()
     */
    @Field(type = FieldType.keyword)
    private String pmc;

    /**
     * @Fields pmid : TODO()
     */
    @Field(type = FieldType.keyword)
    private String pmid;

    /**
     * @Fields pubdate : TODO(发布时间)
     */

    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd")
    private String pubdate;

    /**
     * @Fields publicationstatus : TODO(发布状态)
     */
    @Field(type = FieldType.keyword)
    private String publicationstatus;

    /**
     * @Fields publicationtype : TODO(发布类型)
     */
    @Field(type = FieldType.keyword)
    private String publicationtype;

    /**
     * @Fields pubmedpubdate : TODO()
     */
    @Field(type = FieldType.keyword)
    private String pubmedpubdate;

    /**
     * @Fields references_nested : TODO()
     */
    @Field(type = FieldType.Nested)
    private List<References> references_nested;

    /**
     * @Fields source : TODO(来源)
     */
    @Field(type = FieldType.keyword)
    private String source;

    /**
     * @Fields source_url : TODO(来源链接)
     */
    @Field(type = FieldType.keyword)
    private String source_url;

    /**
     * @Fields summary : TODO(摘要)
     */
    @Field(type = FieldType.text, analyzer = "ik_max_word")
    private String summary;

    /**
     * @Fields supplmeshname : TODO()
     */
    @Field(type = FieldType.keyword)
    private String supplmeshname;

    /**
     * @Fields times_cited : TODO()
     */
    @Field(type = FieldType.keyword)
    private String times_cited;

    /**
     * @Fields title : TODO(标题)
     */
    @Field(type = FieldType.text, analyzer = "ik_max_word")
    private String title;

    /**
     * @Fields weight_json : TODO(记录字段修改实体)
     */
    @Field(type = FieldType.Nested)
    private List<WeightJson> weight_json;

    /**
     * @Fields wf_id : TODO()
     */
    @Field(type = FieldType.keyword)
    private String wf_id;

    /**
     * @Fields wp_id : TODO()
     */
    @Field(type = FieldType.keyword)
    private String wp_id;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getSYS_add_time() {
        return SYS_add_time;
    }

    public void setSYS_add_time(String sYS_add_time) {
        SYS_add_time = sYS_add_time;
    }

    public String getSYS_check_time() {
        return SYS_check_time;
    }

    public void setSYS_check_time(String sYS_check_time) {
        SYS_check_time = sYS_check_time;
    }

    public String getSYS_dm_update_time() {
        return SYS_dm_update_time;
    }

    public void setSYS_dm_update_time(String sYS_dm_update_time) {
        SYS_dm_update_time = sYS_dm_update_time;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public List<Chemical> getChemical_nested() {
        return chemical_nested;
    }

    public void setChemical_nested(List<Chemical> chemical_nested) {
        this.chemical_nested = chemical_nested;
    }

    public String getCitationsubset() {
        return citationsubset;
    }

    public void setCitationsubset(String citationsubset) {
        this.citationsubset = citationsubset;
    }

    public List<Classnum> getClassnum_nested() {
        return classnum_nested;
    }

    public void setClassnum_nested(List<Classnum> classnum_nested) {
        this.classnum_nested = classnum_nested;
    }

    public String getCopyrightinformation() {
        return copyrightinformation;
    }

    public void setCopyrightinformation(String copyrightinformation) {
        this.copyrightinformation = copyrightinformation;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public List<DetailAuthor> getDetail_author_nested() {
        return detail_author_nested;
    }

    public void setDetail_author_nested(
            List<DetailAuthor> detail_author_nested) {
        this.detail_author_nested = detail_author_nested;
    }

    public String getDetail_url() {
        return detail_url;
    }

    public void setDetail_url(String detail_url) {
        this.detail_url = detail_url;
    }

    public String getDoi() {
        return doi;
    }

    public void setDoi(String doi) {
        this.doi = doi;
    }

    public String getDownload_url() {
        return download_url;
    }

    public void setDownload_url(String download_url) {
        this.download_url = download_url;
    }

    public String getEng_journal() {
        return eng_journal;
    }

    public void setEng_journal(String eng_journal) {
        this.eng_journal = eng_journal;
    }

    public String getEnglish_title() {
        return english_title;
    }

    public void setEnglish_title(String english_title) {
        this.english_title = english_title;
    }

    public String getExt_company() {
        return ext_company;
    }

    public void setExt_company(String ext_company) {
        this.ext_company = ext_company;
    }

    public String getExt_institute() {
        return ext_institute;
    }

    public void setExt_institute(String ext_institute) {
        this.ext_institute = ext_institute;
    }

    public String getFund() {
        return fund;
    }

    public void setFund(String fund) {
        this.fund = fund;
    }

    public String getGeo_id() {
        return geo_id;
    }

    public void setGeo_id(String geo_id) {
        this.geo_id = geo_id;
    }

    public String getIncluded() {
        return included;
    }

    public void setIncluded(String included) {
        this.included = included;
    }

    public String getInfluence_factor() {
        return influence_factor;
    }

    public void setInfluence_factor(String influence_factor) {
        this.influence_factor = influence_factor;
    }

    public String getInstitute() {
        return institute;
    }

    public void setInstitute(String institute) {
        this.institute = institute;
    }

    public String getIsmedical() {
        return ismedical;
    }

    public void setIsmedical(String ismedical) {
        this.ismedical = ismedical;
    }

    public String getIsoabbreviation() {
        return isoabbreviation;
    }

    public void setIsoabbreviation(String isoabbreviation) {
        this.isoabbreviation = isoabbreviation;
    }

    public String getIssn() {
        return issn;
    }

    public void setIssn(String issn) {
        this.issn = issn;
    }

    public String getJournal() {
        return journal;
    }

    public void setJournal(String journal) {
        this.journal = journal;
    }

    public String getKey_words() {
        return key_words;
    }

    public void setKey_words(String key_words) {
        this.key_words = key_words;
    }

    public String getLanguage() {
        return language;
    }

    public void setLanguage(String language) {
        this.language = language;
    }

    public List<Meshheading> getMeshheading_nested() {
        return meshheading_nested;
    }

    public void setMeshheading_nested(List<Meshheading> meshheading_nested) {
        this.meshheading_nested = meshheading_nested;
    }

    public String getNlmuniqueid() {
        return nlmuniqueid;
    }

    public void setNlmuniqueid(String nlmuniqueid) {
        this.nlmuniqueid = nlmuniqueid;
    }

    public Set<OrgInfo> getOrg_info() {
        return org_info;
    }

    public void setOrg_info(Set<OrgInfo> org_info) {
        this.org_info = org_info;
    }

    public String getOrigin() {
        return origin;
    }

    public void setOrigin(String origin) {
        this.origin = origin;
    }

    public String getPii() {
        return pii;
    }

    public void setPii(String pii) {
        this.pii = pii;
    }

    public String getPmc() {
        return pmc;
    }

    public void setPmc(String pmc) {
        this.pmc = pmc;
    }

    public String getPmid() {
        return pmid;
    }

    public void setPmid(String pmid) {
        this.pmid = pmid;
    }

    public String getPubdate() {
        return pubdate;
    }

    public void setPubdate(String pubdate) {
        this.pubdate = pubdate;
    }

    public String getPublicationstatus() {
        return publicationstatus;
    }

    public void setPublicationstatus(String publicationstatus) {
        this.publicationstatus = publicationstatus;
    }

    public String getPublicationtype() {
        return publicationtype;
    }

    public void setPublicationtype(String publicationtype) {
        this.publicationtype = publicationtype;
    }

    public String getPubmedpubdate() {
        return pubmedpubdate;
    }

    public void setPubmedpubdate(String pubmedpubdate) {
        this.pubmedpubdate = pubmedpubdate;
    }

    public List<References> getReferences_nested() {
        return references_nested;
    }

    public void setReferences_nested(List<References> references_nested) {
        this.references_nested = references_nested;
    }

    public String getSource() {
        return source;
    }

    public void setSource(String source) {
        this.source = source;
    }

    public String getSource_url() {
        return source_url;
    }

    public void setSource_url(String source_url) {
        this.source_url = source_url;
    }

    public String getSummary() {
        return summary;
    }

    public void setSummary(String summary) {
        this.summary = summary;
    }

    public String getSupplmeshname() {
        return supplmeshname;
    }

    public void setSupplmeshname(String supplmeshname) {
        this.supplmeshname = supplmeshname;
    }

    public String getTimes_cited() {
        return times_cited;
    }

    public void setTimes_cited(String times_cited) {
        this.times_cited = times_cited;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public List<WeightJson> getWeight_json() {
        return weight_json;
    }

    public void setWeight_json(List<WeightJson> weight_json) {
        this.weight_json = weight_json;
    }

    public String getWf_id() {
        return wf_id;
    }

    public void setWf_id(String wf_id) {
        this.wf_id = wf_id;
    }

    public String getWp_id() {
        return wp_id;
    }

    public void setWp_id(String wp_id) {
        this.wp_id = wp_id;
    }
}
